package cn.jieruoda.eb.system.domain.entity;

import java.io.Serializable;
import java.util.Date;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;

import lombok.Data;

/**
 * 通知设置表
 */
@Data
@Entity
@Table(name = "system_notification")
public class SystemNotification implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    
    /**
     * 标识
     */
    @Column(name = "mark", nullable = false, length = 50)
    private String mark;
    
    /**
     * 通知类型
     */
    @Column(name = "type", nullable = false, length = 50)
    private String type;
    
    /**
     * 通知场景说明
     */
    @Column(name = "description", nullable = false, length = 100)
    private String description;
    
    /**
     * 公众号模板消息（0：不存在，1：开启，2：关闭）
     */
    @Column(name = "is_wechat", nullable = false)
    private Integer isWechat;
    
    /**
     * 模板消息id
     */
    @Column(name = "wechat_id", nullable = false)
    private Integer wechatId;
    
    /**
     * 小程序订阅消息（0：不存在，1：开启，2：关闭）
     */
    @Column(name = "is_routine", nullable = false)
    private Integer isRoutine;
    
    /**
     * 订阅消息id
     */
    @Column(name = "routine_id", nullable = false)
    private Integer routineId;
    
    /**
     * 发送短信（0：不存在，1：开启，2：关闭）
     */
    @Column(name = "is_sms", nullable = false)
    private Integer isSms;
    
    /**
     * 短信id
     */
    @Column(name = "sms_id", nullable = false)
    private Integer smsId;
    
    /**
     * 发送类型（1：用户，2：管理员）
     */
    @Column(name = "send_type", nullable = false)
    private Integer sendType;
    
    /**
     * 创建时间
     */
    @Column(name = "create_time", nullable = false)
    private Date createTime;
} 